using System;
using System.Windows.Controls;
using System.Collections.Generic;
using Silvery.Data;

namespace Silvery
{
    /// <summary>
    /// 精灵数据接口
    /// </summary>
    public interface ISpiritData : IDisposable
    {
        /// <summary>
        /// 是否整体销毁并清理
        /// </summary>
        bool IsDisposeClear { get; set; }
        /// <summary>
        /// 添加帧
        /// </summary>
        /// <param name="aniname">动画名</param>
        /// <param name="frame">帧</param>
        void AddFrame(string aniname, Image frame);
        /// <summary>
        /// 通过名字找一组动画的Image
        /// </summary>
        /// <param name="aniname"></param>
        /// <returns></returns>
        IList<Image> FindAnimat(string aniname);
        /// <summary>
        /// SpiritData的配置文件，如果不是从精灵文件中取得，则为NULL
        /// </summary>
        SpiritFile_Frames FramesInfo { get; }
        /// <summary>
        /// 所有动画名字的列表
        /// </summary>
        List<string> AnimatNamesList { get; }
    }
}
